A user may want to return a software application to a previous state for many different reasons. For example, a software update for an application may cause undesirable results, such as degrading an application's performance, causing file compatibility issues, or even rendering an application unusable. In these and other situations, a user may have to reinstall and reconfigure an application to return the application to a previous state.
Various backup technologies may take snapshots of a system and may allow a user to return the system to a previous state. However, such backup technologies may not be optimized to return a specific application to a previous state. Other technologies may enable a user to take snapshots of an application image for the purpose of creating an application package, but such technologies may not provide backup and restoration functionality. Furthermore, traditional backup and snapshot technologies may not be optimized for some virtualization technologies and may not enable a user to efficiently and effectively return a virtualized application to a previous state.